Saltar al contenido principal

Recurso Reportes

Este recurso nos permite operar sobre los reportes almacenados en el Servidor de Reportes.

Modelo

Para este recurso el modelo consta de las siguientes componentes:

  • proyecto: Identificador del proyecto, es un string que identifica el proyecto sobre el cual se opera.
  • id: Identificador corto, puede ser el nombre del archivo.
  • uri: Identificador del archivo, es un string que identifica el archivo en el servidor.
  • parametros: Arreglo de parametros a pasar al reporte
  • imagen: Es un campo compuesto que contiene los siguientes datos
    • uri: Identificador del archivo, es un string que identifica la imagen en el servidor.
    • data: El contenido de la imagen en formato base64.
  • source: Es un campo compuesto que contiene los siguientes datos
    • uri: Identificador del archivo, es un string que identifica el siguiente contenido en el servidor.
    • data: El contenido del archivo en formato jrxml.
  • archivo: Es un campo compuesto que contiene los siguientes datos
    • uri: Identificador del archivo, es un string que identifica el archivo en el servidor.
    • tipo: Enumerado que indica el tipo de archivo a procesar, por ej ('jrxml', 'pdf', 'html', 'xls', 'rtf').
    • data: El contenido del archivo en formato base64.
    • temporal: Un entero que indica si el archivo debe quedar persistido en el servidor o no.

Modelo

Por ejemplo:

{
"proyecto": "Imhotep",
"id": "Hechizados",
"uri": "/reportes/Imhotep/Hechizos/Hechizados",
"source" : {
"data": base64encode(file_get_contents("/path/to/hechizos.jrxml"))
}
}

Operaciones disponibles

  • get_list: Obtiene el listado de los reportes disponibles para el proyecto.
  • get: Ejecuta la generacion del reporte indicado por uri con los datos y el tipo de salida especificados
  • post_list: Crea y almacena un reporte con los datos especificados y devuelve su uri absoluto.
  • delete_list: Elimina el reporte indicado por el uri.

Por ejemplo, si realizamos el siguiente pedido:

curl -X POST "http://siu:81/reportes/v2/reportes" -H "accept: application/json" -H "Content-Type: application/json" -d "@./docs/ejemplos/jasper/addReport/item_list/descriptor.json"

Obtendremos como respuesta el uri del reporte la cual luego utilizaremos en su ejecución.

{
"uri": "/reportes/Imhotep/Hechizos/Hechizados"
}